문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Microsoft Windows/커널 (문단 편집) ==== 구성 요소 ==== ntoskrnl.exe는 다양한 서비스를 제공하는데 다음과 같다. 함수가 워낙 많다보니 맨 앞에 접두사를 붙여서 구분하고 있다. 아래에 있는 것들이 다는 아니고 더 있다! *Cm - 윈도우 레지스트리를 관리한다. 콜백(CmRegisterCallbackEx) 등 일부 함수만 제외하면 나머지는 외부로 노출되지 않는다. 따라서 시스템 서비스 함수(Nt*, Zw*)를 통해 레지스트리에 접근해야 한다. *Ke - 핵심 커널 서비스를 제공한다. *Ki - 외부로 노출되지 않는 내부 커널 함수들이다. 커널 초기화, 시스템 콜 테이블 등이 이렇게 되어 있다. *Ex - 익스큐티브 *Exp - 외부로 노출되지 않는 익스큐티브 *Io - I/O(입출력) 관리자, 장치 생성 / 제거, 장치 드라이버와 사용자 프로세스 간의 통신(IOCTL), 파일 시스템, 드라이버 로드 및 언로드[* 즉 커널 모드 드라이버는 I/O 관리자에 의해 로드되고 언로드된다.] 등 다양한 입출력을 관리한다. *Ob - 객체 관리자, 프로세스, 스레드 등의 객체를 만들거나 제거하며 각 객체마다 가지는 핸들 테이블을 관리하고 핸들을 생성하거나 핸들을 통해 객체에 간접적으로 접근할 수 있는 기능을 제공한다. *Se - 보안 참조 모니터 (Security Reference Monitor), 윈도우에 생성되어 있는 각 객체의 DACL (임의 액세스 제어 목록)과 SACL (시스템 액세스 제어 목록)을 관리하며 접근 권한을 확인하여 거부하거나 승인할 수 있는 기능을 제공한다. *Ps - 프로세스 및 스레드 관리자, 프로세스 또는 스레드를 생성하거나 종료하는 등 프로세스 / 스레드 관련 기능을 제공한다. 커널 및 드라이버는 시스템 스레드를 생성할 수 있다. *Po - 전원 관리자 *Dbg - 커널 디버거 *Mm - 메모리 관리자, 페이징 파일, 가상 메모리 등을 관리한다. *Nt - 시스템 서비스, ntdll.dll를 통해 사용자 모드로 노출되는 함수들이다. ntdll.dll의 시스템 서비스 함수가 호출되면 시스템 콜을 통해 커널 모드에서 실제 서비스 함수가 호출된다. *Zw - 커널 모드 전용 시스템 서비스, Nt는 인수 검증을 수행하지만 Zw는 검증을 수행하지 않는다.[* 참고로 Zw는 ntdll.dll (유저 모드)에서도 존재하지만 호출하면 Nt 함수로 호출된다.]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기